Traditionally, personal computers included operating systems, applications, and user settings for a single user. Personal computers were generally both used and managed by their owners. However, many organizations are now using virtualization, remote access, and/or clouds of computing resources to fulfill their computing needs. Clouds of virtualized computing resources generally allow for the operating systems, applications, and user settings of multiple users to be included on a single physical machine. Desktop virtualization technology allows multiple instances of an operating system to be kept separate, so the activities of one user do not affect the experience of other users. Cloud computing environments allow for computers owned by the cloud operator to be managed by the cloud operator but used by cloud users, who may be customers of the cloud operator. Cloud computing environments may also support multiple organizations via single software instances (e.g., multi-tenancy).
Virtualization and multi-tenancy present new challenges for diagnosing problems or performance issues, and providing support to end users. For example, in a traditional computing environment, when performance issues arise, an administrator can run diagnostic routines on the particular personal computer presenting the issue. In a virtualized environment, however, an administrator may not have direct access to a virtual machine presenting performance issues. For example, the owner of a virtual machine may be in a separate administrative domain, inaccessible to the cloud operator. Similarly, in a traditional computing environment, an administrator may be able to provide support to a user experiencing difficulty (e.g., via a remote desktop application). In a multi-tenant virtualized environment, however, an administrator may be unable to access the particular virtual machine utilized by the troubled user.